package com.bootx.tool;

import dev.langchain4j.service.MemoryId;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;
import reactor.core.publisher.Flux;

public interface Writer {

    @SystemMessage("你现在是一个优秀的写作助手，需要按照用户来写一篇不少于800字的文章")
    String write(String content);

    @SystemMessage("仿照诸葛亮《出师表》的风格，写一篇题目为{{title}}，主题思想是：{{content}}，字数不少于{{count}}字的文章")
    String write2(@UserMessage String content, @V("title") String title, @V("count") Integer count);

    String chat(@MemoryId Long chatId, @UserMessage String content);

    Flux<String> stream(@MemoryId Long chatId, @UserMessage String content);
}
